package platform.common.bo;

import platform.common.dao.IDomainProviderSet;
import platform.common.dao.impl.DaoException;
import platform.common.exception.BusinessException;

import platform.common.bo.IIdentifiableObj;

public interface IPersistenceBO extends IIdentifiableObj{

	/**
	 *
	 * <br/>方法描述: 保存对象
	 * @param domainProviderSet 业务领域提供者集合
	 * @throws DaoException
	 */
	public abstract void store(IDomainProviderSet domainProviderSet)
			throws BusinessException;

	/**
	 *
	 * <br/>方法描述: 删除对象
	 * @param domainProviderSet 业务领域提供者集合
	 * @throws BusinessException
	 */
	public abstract void del(IDomainProviderSet domainProviderSet)
			throws BusinessException;

	/***
	 * 
	 * <br/>方法描述：处理业务领域层异常的通用方法
	 * @param errMsg
	 * @param e
	 * @return
	 */
	public BusinessException handleBusinessBOException(String errMsg, Exception e);
	
	/***
	 * 
	 * <br/>方法描述：处理业务领域层异常的通用方法
	 * @param e
	 * @return
	 */
	public BusinessException handleBusinessBOException(Exception e);
	
}